#ifndef CLIENT_H_
#define CLIENT_H_

#include <arpa/inet.h>
#include <sys/socket.h>
#include <sys/types.h>

class client
{
 public:
  /* initialize TCP connection to CLSquare server */
  void init();
  
  /* communication (control) loop with CLSquare server */
  void communicate();
  
  /* close TCP connection to CLSquare server */
  void deinit();
  
 private:
  int socket_id;
  struct sockaddr_in adresse;
  struct in_addr ip;
  struct hostent* server;
  char information[255]; 
  
  int state_dim; // dimension of state space
  int observation_dim; // dimension of observation space
  int action_dim; // dimension of action space
  double* observation; // current observation of state
  double* initial_state; // initial state of current episode
};

#endif /*CLIENT_H_*/
